//
//  NSObject+LoginTool.m
//  EasyYunBorrow
//
//  Created by apple on 2017/12/6.
//  Copyright © 2017年 nywenhai. All rights reserved.
//

#import "LoginRegular.h"

@implementation LoginRegular


//判断手机号码
+(BOOL)phoneNumberIsOk:(NSString*)phone
{
    NSString *phoneRegex = @"1[3|5|7|8|][0-9]{9}";
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
    return [phoneTest evaluateWithObject:phone];
}

//判断密码格式
+(BOOL)secretIsOk:(NSString*)secret
{
    NSString *secretRegex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,15}$";
    NSPredicate *secretTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", secretRegex];
    return [secretTest evaluateWithObject:secret];
}

/*--------------------------------------*/
+ (BOOL)regularEmail:(NSString *)string
{
    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    if(![emailTest evaluateWithObject:string])
    {
        return NO;
    }
    return YES;
}

+ (BOOL)regularPhone:(NSString *)string
{
    NSString *phoneRegex = @"[0-9\\+\\-]{6,19}";
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
    if(![phoneTest evaluateWithObject:string])
    {
        return NO;
    }
    return YES;
    
}

+ (BOOL)regularFloatNumber:(NSString *)string
{
    NSString *phoneRegex = @"[+\-]?(?:[0-9]*\.[0-9]+|[0-9]+\.)";
    NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", phoneRegex];
    if(![phoneTest evaluateWithObject:string])
    {
        return NO;
    }
    return YES;
    
}



//正则运算,验证手机号
- (BOOL)isMobileNumber:(NSString *)mobileNum {
    /*
     手机号码
     移动: 134[0-8], 135, 136, 137, 138, 139, 150, 151, 158, 159, 182, 187, 188
     联通: 130, 131, 132, 152, 155, 156, 185, 186
     电信: 133, 1349, 153, 180, 189
     */
    
    
    NSString * MOBILE = @"@^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
    /*
     中国移动: China Mobile
     移动: 134[0-8], 135, 136, 137, 138, 139, 150, 151, 158, 159, 182, 187, 188
     */
    
    NSString * CM = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
    /*
     中国联通: China Unicom
     联通: 130, 131, 132, 152, 155, 156, 185, 186
     */
    
    NSString * CU = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";
    /*
     中国电信: China Telecom
     电信: 133, 1349, 153, 180, 189
     */
    
    NSString * CT = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";
    /*
     大陆地区固定电话及小灵通
     区号: 010, 020, 021, 022, 023, 024, 025, 027, 028, 029
     号码: 七位或八位
     */
    
    NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",MOBILE];
    NSPredicate *regextestcm = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CM];
    NSPredicate *regextestcu = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CU];
    NSPredicate *regextestct = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",CT];
    
    if (([regextestmobile evaluateWithObject:mobileNum] == YES)
        || ([regextestcm evaluateWithObject:mobileNum] == YES)
        || ([regextestcu evaluateWithObject:mobileNum] == YES)
        || ([regextestct evaluateWithObject:mobileNum] == YES))
    {
        return YES;
    }else {
        return NO;
    }
    
}


@end
